class Animal2 {
    private name:string; // 私有属性 只能自己用
    protected gender:string = "boy" // 比private 宽松一点 可以让子类用
    public hh:string // 谁都可以用
    constructor(theName:string){this.name = theName}
}

// new Animal2("Cat").name // 报错
// new Animal2("Cat").gender // 报错
new Animal2("Cat").hh // 
class Dog2 extends Animal2{
    constructor(childrenName:string){
        super(childrenName)
        // this.name // 报错 
        this.gender = "girl" // 可以访问 修改 父级 protected修饰的变量
        this.hh
    }
    brak(){
        console.log('www');
    }
    // 可以增加方法暴露 父级的 protected 的变量
    getGender(){
        return this.gender
    }
}
console.log(new Dog2("hsq").getGender())